package com.xxx.generator;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;

import java.util.Collections;

public class MyGenerator {
    public static void main(String[] args) {

        FastAutoGenerator.create("jdbc:mysql://localhost:3306/payment_demo?serverTimezone=GMT%2B8&characterEncoding=utf-8",
                "root",
                "123456")
                .globalConfig(builder -> {
                    builder
                            //.author("baomidou") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
                            .disableOpenDir() //禁止打开输出目录
                            .commentDate("yyyy-MM-dd HH:mm:ss")
                            //.fileOverride() // 覆盖已生成文件
                            .outputDir("C:\\Users\\A\\Desktop\\ceshi\\MP\\MPcs\\src\\main\\java"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.park") // 设置父包名
                            .entity("pojo")
                            //.moduleName("system") // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml,
                                    "C:\\Users\\A\\Desktop\\ceshi\\MP\\MPcs\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
                })
                //策略配置
                .strategyConfig(builder -> {
                    builder.
                            serviceBuilder().formatServiceFileName("%sService");
                    builder.
                            addInclude("user") // 设置需要生成的表名
                            //.addTablePrefix("t_", "c_")// 设置过滤表前缀
                            .entityBuilder()
                            .enableLombok()
                            .enableColumnConstant()
                            .enableTableFieldAnnotation();
                })
                //.templateEngine(new VelocityTemplateEngine()) // 使用Freemarker引擎模板，默认的是Velocity引擎模板
                .execute();


    }
}
